home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / get_dr1r / tv.bas < prev    next >
BASIC Source File  |  1999-06-26  |  4KB  |  110 lines

  1. Attribute VB_Name = "Module1"
  2. Public Type NOTIFYICONDATA
  3.     cbSize As Long
  4.     hwnd As Long
  5.     uId As Long
  6.     uFlags As Long
  7.     uCallbackMessage As Long
  8.     hIcon As Long
  9.     szTip As String * 64
  10. End Type
  11.  
  12. ' Constants required by system tray
  13. Public Enum enm_NIM_Shell
  14.     NIM_ADD = &H0
  15.     NIM_MODIFY = &H1
  16.     NIM_DELETE = &H2
  17.     NIF_MESSAGE = &H1
  18.     NIF_ICON = &H2
  19.     NIF_TIP = &H4
  20.     WM_MOUSEMOVE = &H200
  21. End Enum
  22.  
  23. Type Rect
  24.      rleft As Long
  25.      rtop As Long
  26.      rright As Long
  27.      rbot As Long
  28. End Type
  29.  
  30. Type POINTAPI
  31.         X As Long
  32.         Y As Long
  33. End Type
  34.  
  35.  
  36. Public Type WINDOWPLACEMENT
  37.     Length  As Long
  38.     flags             As Long
  39.     showCmd           As Long
  40.     ptMinPosition     As POINTAPI
  41.     ptMaxPosition     As POINTAPI
  42.     rcNormalPosition  As Rect
  43. End Type
  44.  
  45. Declare Function Shell_NotifyIcon Lib "shell32" Alias "Shell_NotifyIconA" (ByVal dwMessage As enm_NIM_Shell, pnid As NOTIFYICONDATA) As Boolean
  46. Declare Function GetForegroundWindow& Lib "user32" ()
  47. Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
  48. Declare Function CreateDC& Lib "gdi32" Alias "CreateDCA" (ByVal lpDriverName$, ByVal lpDeviceName$, ByVal lpOutput$, ByVal lpInitData&)
  49. Declare Function SelectObject Lib "gdi32" (ByVal hDC As Long, ByVal hObject As Long) As Long
  50. Declare Function BitBlt Lib "gdi32" (ByVal hDestDC As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hSrcDC As Long, ByVal XSrc As Long, ByVal YSrc As Long, ByVal dwRop As Long) As Long
  51. Declare Function CreateCompatibleDC Lib "gdi32" (ByVal hDC As Any) As Long
  52. Declare Function CreateCompatibleBitmap Lib "gdi32" (ByVal hDC As Long, ByVal nWidth As Long, ByVal nHeight As Long) As Long
  53. Declare Function SetWindowPlacement Lib "user32" (ByVal hwnd As Long, lpwndpl As WINDOWPLACEMENT) As Long
  54. Declare Function DeleteDC Lib "gdi32" (ByVal hDC As Long) As Long
  55. Declare Function GetCursorPos& Lib "user32" (lpPoint As POINTAPI)
  56.  
  57. Public Const SRCCOPY = &HCC0020 ' (DWORD) dest = source
  58. Public Const SRCAND = &H8800C6  ' (DWORD) dest = source AND dest
  59.  
  60.  'Behaviour over system tray
  61. Public Const WM_MOUSEISMOVING = &H200
  62. Public Const WM_LBUTTONDOWN = &H201
  63. Public Const WM_LBUTTONUP = &H202
  64. Public Const WM_LBUTTONDBLCLK = &H203
  65. Public Const WM_RBUTTONDOWN = &H204
  66. Public Const WM_RBUTTONUP = &H205
  67. Public Const WM_RBUTTONDBLCLK = &H206
  68. Public Const WM_SETHOTKEY = &H32
  69.  
  70. ' ShowWindow() Commands
  71. Public Const SW_HIDE = 0
  72. Public Const SW_SHOWNORMAL = 1
  73. Public Const SW_NORMAL = 1
  74. Public Const SW_SHOWMINIMIZED = 2
  75. Public Const SW_SHOWMAXIMIZED = 3
  76. Public Const SW_MAXIMIZE = 3
  77. Public Const SW_SHOWNOACTIVATE = 4
  78.  
  79. Public nidProgramData As NOTIFYICONDATA
  80. Public Const HWND_TOPMOST = -1 ' sets a window to top
  81. Public Const SWP_NOACTIVATE = &H10
  82. Public Const SWP_FRAMECHANGED = &H20
  83. Public Const SWP_SHOWME = SWP_FRAMECHANGED Or SWP_NOACTIVATE
  84. Public currWinP As WINDOWPLACEMENT
  85. Public mouse As POINTAPI 'store mouse position
  86. Public StageDC As Long      'The staging area for the graphics
  87. Public LogoDC As Long     'The sprite bitmap storage area
  88. Public BackDC As Long       'The background bitmap storage
  89. Public screendc As Long      'store screen DC
  90. Public frmx, frmy                    As Integer
  91. Public curfocus, oldfocus, tmpval As Long
  92. Public angle_x, angle_y, speed, i, dir As Integer
  93. Public winvis As Boolean
  94.  
  95. Function NewDC(hdcScreen As Long, HorRes As Long, VerRes As Long) As Long
  96.     Dim hdcCompatible As Long
  97.     Dim hbmScreen As Long
  98.     hdcCompatible = CreateCompatibleDC(hdcScreen)                   'Create the DC
  99.     hbmScreen = CreateCompatibleBitmap(hdcScreen, HorRes, VerRes)   'Temporary bitmap
  100.     If SelectObject(hdcCompatible, hbmScreen) = vbNull Then         'If the function fails
  101.         NewDC = vbNull                                              ' return null
  102.     Else                                                            'If it succeeds
  103.         NewDC = hdcCompatible                                       ' return the DC
  104.     End If
  105. End Function
  106. Public Function degtorad(ang)
  107.    degtorad = ang / 180 * 3.14159265359
  108. End Function
  109.  
  110.